class _ModBus:
    def setSlave(self, slave: int): ...

    def serializeReadBits(self, addr: int, nb: int) -> int: ...
    def serializeReadInputBits(self, addr: int, nb: int) -> int: ...
    def serializeReadRegisters(self, addr: int, nb: int) -> int: ...
    def serializeReadInputRegisters(self, addr: int, nb: int) -> int: ...
    def serializeWriteBit(self, addr: int, status: int) -> int: ...
    def serializeWriteRegister(self, addr: int, value: int) -> int: ...
    def serializeMaskWriteRegister(self, addr: int, andMask: int, orMask: int) -> int: ...
    def serializeReportSlaveId(self) -> int: ...

    def serializeWriteAndReadRegisters(self, writeAddr: int, writeNb: int, src: bytes, readAddr: int, readNb: int) -> int: ...
    def serializeWriteBits(self, addr: int, nb: int, src: bytes) -> int: ...
    def serializeWriteRegisters(self, addr: int, nb: int, src: bytes) -> int: ...

    def deserializeWriteBit(self, msgLength: int) -> int: ...
    def deserializeWriteRegister(self, msgLength: int) -> int: ...
    def deserializeWriteBits(self, msgLength: int) -> int: ...
    def deserializeWriteRegisters(self, msgLength: int) -> int: ...
    def deserializeMaskWriteRegister(self, msgLength: int) -> int: ...
    def deserializeReadBits(self, msgLength: int) -> bytes: ...
    def deserializeReadInputBits(self, msgLength: int) -> bytes: ...
    def deserializeReadRegisters(self, msgLength: int) -> bytes: ...
    def deserializeReadInputRegisters(self, msgLength: int) -> bytes: ...
    def deserializeWriteAndReadRegisters(self, msgLength: int) -> bytes: ...
    def deserializeReportSlaveId(self, msgLength: int, maxDest: int) -> bytes: ...
    
    def getSendBuff(self) -> bytes: ...
    def getReadBuff(self) -> bytes: ...
    def __init__rtu(self, sendBuffSize: int, readBuffSize: int): ...
    def __init__tcp(self, sendBuffSize: int, readBuffSize: int): ...
